// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Author: Markus Gutschke

#ifndef PRINTER_H__
#define PRINTER_H__

struct Cfg;
struct OAuth2;
struct XMPP;
struct PrinterBackend;

struct Printer {
  struct Cfg            *cfg;
  const char            *cloudPrintURL;
  const char            *printerName;
  const char            *printerDesc;
  const char            *fromEmail;
  const char            *toEmail;
  const char            *ijsDriver;
  const char            *printerPort;
  const char            *printerModel;
  const char            *printerId;
  struct PrinterBackend *printerBackend;
  const char            *jid;
  const char            *refreshToken;
  struct OAuth2         *oauth2;
  struct XMPP           *xmpp;
  unsigned long         activity;
};

struct Printer *registerAllPrinters(struct Cfg *cfg, int *numPrinters);
void deleteAllPrinters(struct Printer *printer, int numPrinters);

#endif  // PRINTER_H__
